package com.world.rickcloudendpoint.common.utils;

import org.apache.commons.lang3.StringUtils;

import java.util.Date;

/**
 * 特殊字符处理工具类
 *
 * @author Ja
 * @date 2019/12/5
 **/
public class SpecialCharUtils {

    /**
     * 处理特殊字符
     *
     * @param str 含特殊字符的字符串
     * @return 转义特殊字符
     */
    public static String specialChar(String str) {
        String returnStr = str;

        if (StringUtils.isEmpty(str)) {
            return "";
        }
        // 先判断是否含有逗号
        if (str.contains(",")) {
            if (str.contains("\"")) {
                returnStr = returnStr.replace("\"", "\"\"");
            }

            // 将逗号转义
            returnStr = "\"" + returnStr + "\"";
        }

        return returnStr;
    }

    /**
     * 拼接Session Key
     *
     * @param sessionId sessionId
     * @param startTime 开始时间
     * @param endTime 结束时间
     * @param keyWord key 关键字
     * @return key
     */
    public static String sessionKey(String sessionId, String startTime, String endTime, String keyWord) {
        Date start = DateTimeUtils.stringToDate(startTime, DateTimeUtils.PATTERN);
        Date end = DateTimeUtils.stringToDate(endTime, DateTimeUtils.PATTERN);
        StringBuffer sb = new StringBuffer();
        sb.append(sessionId).append('-').append(DateTimeUtils.dateToString(start, DateTimeUtils.DATE_TIME_FORMAT_YYYYMMDDHHMMSS)).append('-')
                .append(DateTimeUtils.dateToString(end, DateTimeUtils.DATE_TIME_FORMAT_YYYYMMDDHHMMSS)).append('-').append(keyWord);
        return sb.toString();
    }
}
